<?php

    function generateHash($chars)
    {
        $letters = 'abcefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
		return substr(str_shuffle($letters), 0, $chars);
    }
    

    function validMail($mail)
    {
        if (!preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/" , $mail)) {
            return false;
        } else {
            return true;
        }
    }
    
    function codePass($username, $password, $hash)
    {
        return md5(sha1($username . $hash . $password));
    }
    
    function getNiceUrl($data) {
	   $data = preg_replace( '/[^a-z0-9A-Z ]+/i', '', $data );
	   $data = str_replace(' ', '_', $data);
       return $data;
	}
    
    function redirect($site, $log = true, $error = '') {
        if($log) {
            $time = time();
            debug::saveToLogFileError($time, $error);
        }
        header('location: '.$site);
    }
    
    function filterData($data, $typ=false, $strip_tags = false) {
        if($typ) {
            if($typ == 'string') {
                if($strip_tags) {
                    return htmlspecialchars(strip_tags($data));
                } else {
                    return htmlspecialchars($data);
                }
            } elseif($typ == 'int') {
                if(is_numeric($data)) {
                    return $data;
                } else {
                    return false;
                }
            }
        } else {
            $strip_tags ? $return = htmlspecialchars(strip_tags($data)) : $return = htmlspecialchars($data);
            return $return;
        }
    }
?>